package com.example.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.entity.dto.LifeTool.RelationGraph;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 亲属关系图Mapper接口，用于访问db_relation_graph表，
 * 提供自定义的关系推导查询
 *
 * @auth shanyue
 * @date 2025年07月07日19:49
 */
@Mapper
public interface RelationGraphMapper extends BaseMapper<RelationGraph> {

    /**
     * 根据当前关系(from)和目标关系(next)查询推导后的关系结果
     *
     * @param from 当前称呼
     * @param next 下一级称呼
     * @return 推导出的最终关系结果，未找到返回null
     */
    @Select("select result_relation from db_relation_graph where from_relation = #{from} and to_relation = #{next} limit 1")
    String findResultRelation(@Param("from") String from, @Param("next") String next);

}
